package April.april28;

import April.april27.JdbcUtil;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayListHandler;

import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.List;

/*
  测试写好的工具类
  提供的是一个DataSource接口的数据源
  QueryRunner类构造方法，接收DataSource接口的实现类
  后面，调用方法 update ，query，无需传递他们的ConnecTion连接对象
 */
public class QueryRunnerDemo_2 {
    public static void main(String[] args) {
     //   inserts();
        selsct();
    }
//    定义两个方法，实现数据表的添加，数据表的查询
//    QueryRunner类对象，写在类成员位置
    private static QueryRunner qr = new QueryRunner( JDBCUtils.getDataSource());

//    查询数据
    public static void selsct(){
        String sql = "SELECT * FROM product";
        try {
            List<Object[]> arry = qr.query(sql,new ArrayListHandler());
            for (Object[] obj : arry){
                for (Object a : obj){
                    System.out.print(obj +"\t");
                }
                System.out.println();
            }
        }catch (Exception ex){
            throw new RuntimeException("查询失败");
        }
    }

//    添加数据
    public static void inserts(){
        String sql = "INSERT INTO product (pname,price) VALUES (?,?)";
        Object[] params = {"水果","10"};
        try{
            int row = qr.update(sql,params);
        }catch(Exception ex){
            throw new RuntimeException("数据添加失败");
        }
    }

}
//为什么打印的是地址